package mobile.game.core.interfaces;

import java.io.IOException;

import mobile.game.core.InputStream;
import mobile.game.core.OutputStream;

/**
 * @author gaopan
 * 
 * 分布式序列化接口
 * 除了基本类型 其余数据需要分布式传输必须实现本接口
 * 
 * 注：实现本接口的类必须有create静态工厂函数或者默认构造函数
 */
public interface ISerilizable {
	
	/**
	 * 序列化
	 * @param out
	 * @throws IOException
	 */
	public void writeTo(OutputStream out) throws IOException;
	
	/**
	 * 反序列化
	 * @param in
	 * @throws IOException
	 */
	public void readFrom(InputStream in) throws IOException;
}